측정 지표 API는 Prometheus 같은 외부 모니터링 시스템에 Trilium 상태를 제공합니다.

접속

GET /etapi/metrics로 요청합니다. ETAPI 토큰이 필요하며 기본 응답은 Prometheus 텍스트 형식입니다.

# ETAPI 토큰 발급 예시
curl -X POST http://localhost:8080/etapi/auth/login \
  -H "Content-Type: application/json" \
  -d '{"password": "your_password"}'

사용 예시

curl -H "Authorization: YOUR_ETAPI_TOKEN" \
  http://localhost:8080/etapi/metrics

다음과 같은 형식으로 응답합니다. 지표 이름과 형식은 연동을 위해 유지합니다.

# HELP trilium_info Trilium 인스턴스 정보
# TYPE trilium_info gauge
trilium_info{version="0.91.6",db_version="231",node_version="v18.17.0"} 1 1701432000

# HELP trilium_notes_total 삭제된 노트를 포함한 전체 노트 수
# TYPE trilium_notes_total gauge
trilium_notes_total 1234 1701432000

JSON으로 받으려면 다음처럼 요청합니다.

curl -H "Authorization: YOUR_ETAPI_TOKEN" \
  "http://localhost:8080/etapi/metrics?format=json"

제공 지표

Prometheus 설정

prometheus.yml에 추가할 예시입니다.

scrape_configs:
  - job_name: 'trilium'
    static_configs:
      - targets: ['localhost:8080']
    metrics_path: '/etapi/metrics'
    bearer_token: 'YOUR_ETAPI_TOKEN'
    scrape_interval: 30s

오류 응답

400은 지원하지 않는 format 값입니다. 401은 토큰이 없거나 유효하지 않다는 뜻이며 500은 서버 내부 오류입니다.

Grafana 대시보드

Trilium 모니터링 대시보드

Grafana 대시보드 JSON을 가져오기 화면에 입력하세요.

대시보드 가져오기 메뉴

JSON을 붙여넣고 불러오기를 누릅니다.

대시보드 JSON 입력

예전 화면 이미지 읽는 법

아래 설명은 본문에 나온 이미지 순서에 맞췄습니다. 이미지는 원본을 유지했으므로 영문 메뉴가 보일 수 있습니다. 현재 앱에서는 한국어 메뉴를 사용합니다. 코드와 주소 및 제품 이름은 원래 표기를 따릅니다.

이미지 1 · Trilium 모니터링 대시보드

화면에서 사용하는 주요 표현은 다음과 같습니다.

이미지 2 · 대시보드 가져오기 메뉴

화면에서 사용하는 주요 표현은 다음과 같습니다.

이미지 3 · 대시보드 JSON 입력

화면에서 사용하는 주요 표현은 다음과 같습니다.